/**
 * id : item.masterUser.id, username : item.masterUser.username, phone :
 * item.masterUser.phone, status : item.masterUser.status, loginNode :
 * item.masterUser.loginNode, createAt : item.masterUser.createAt
 */
var columns = [ [ {
	field : 'id',
	title : 'ID',
	width : fixWidth(0.01)
}, {
	field : 'username',
	title : '用户名',
	width : fixWidth(0.02)
}, {
	field : 'phone',
	title : '联系电话',
	width : fixWidth(0.02)
}, {
	field : 'loginNode',
	title : '登录客户站点',
	align : 'center',
	width : fixWidth(0.01),
	formatter : function(value, row) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		value = parseInt(value);
		if (value === 0) {
			return '<span style="color: red;">禁用</span>';
		} else if (value === 1) {
			return '<span style="color: green;">授权</span>';
		} else {
			return '未知';
		}
	}
}, {
	field : 'status',
	title : '状态',
	align : 'center',
	width : fixWidth(0.01),
	formatter : function(value, row) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		value = parseInt(value);
		if (value === 1) {
			return '<span style="color: green;">开通</span>';
		} else if (value === 2) {
			return '<span style="color: orange;">关闭</span>';
		} else if (value === 3) {
			return '<span style="color: purple;">冻结</span>';
		} else if (value === 4) {
			return '<span style="color: red;">删除</span>';
		} else {
			return '未知';
		}
	}
}, {
	field : 'createAt',
	title : '创建时间',
	align : 'center',
	width : fixWidth(0.02),
	formatter : function(value, row, index) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		return moment(value).format('YYYY-MM-DD');
	}
}, {
	field : 'operation',
	title : '操作',
	align : 'center',
	width : fixWidth(0.03),
	formatter : function(value, row) {
		if (!row.id || isNaN(parseInt(row.id))) {
			return '';
		}
		if(parseInt(row.status) === 4){
			return '';
		}
		var html = '';
		html += '<a onclick="editor(' + row.id + ')" href="javascript:void(0);">编辑</a>';
		html += '&nbsp;&nbsp;<a onclick="resetPassword(' + row.id + ')" href="javascript:void(0);">密码重置</a>';
		// html += '&nbsp;&nbsp;<a onclick="deleteUser(' + row.id + ')"
		// href="javascript:void(0);">删除</a>';
		return html;
	}
} ] ]
$(function() {
	$(".g-search").click(function() {
		$("input[name='pagination']").val("1");
		$("#master-userlist").datagrid("reload");
	});
	$(".g-reset").click(function() {
		$('#masterUsername').textbox('setText', '');
		$('#masterStatus').combobox('select', '-1');
		$('#masterOrderByString').combobox('setValue', '1');
	});
	$("#master-userlist").datagrid({
		fitColumns : true,
		scrollbarSize : 0,
		singleSelect : true,
		toolbar : '#model-action-toolbar',
		loader : function(param, success, error) {
			request.get(getRequestUrl(), getRequestParamUrl(), function(response, data) {
				success({
					total : data.list.length,
					rows : makeUserDataList(data.list)
				});
				if (data.total) {
					$("#totalMessage").html("共 " + data.total + " 条数据");
				} else {
					$("#totalMessage").html("共 0 条数据");
				}
				if (data.total > 12) {
					// 显示分页
					$("#master-pp").show();
					$("#master-pp").pagination({
						layout : [ 'first', 'links', 'last' ],
						links : 9,
						total : data.total,
						pageSize : 12,
						pageNumber : $("input[name='pagination']").val(),
						onSelectPage : function(pageNumber) {
							$("input[name='pagination']").val(pageNumber);
							$("#master-userlist").datagrid("reload");
						}
					});
				} else {
					// 隐藏分页
					$("#master-pp").hide();
				}
			}, null, function() {

			})
		},
		columns : columns,
		onLoadSuccess : function(data) {
			if (data.total < 1) {
				// 如果没有数据
				$("#master-userlist").datagrid('appendRow', {
					id : '无记录'
				})
				return;
			}
		}
	});
});

function makeUserDataList(list) {
	var result = [];
	for (var i = 0; i < list.length; i++) {
		var item = list[i];
		result.push({
			id : item.masterUser.id,
			username : item.masterUser.username,
			phone : item.masterUser.phone,
			status : item.masterUser.status,
			loginNode : item.masterUser.loginNode,
			createAt : item.masterUser.createAt
		});
	}
	return result;
}

function getRequestParamUrl() {
	return {
		username : $('#masterUsername').textbox('getText'),
		status : $('#masterStatus').val(),
		pageNumber : $("input[name='pagination']").val(),
		orderByString : $('#masterOrderByString').val()
	};
}

function getRequestUrl() {
	return '/backend/mastermanage/userlist/ajax';
}

// 操作
function editor(id) {
	if (isNaN(parseInt(id)) || parseInt(id) < 1) {
		return;
	}
	var listData = $("#master-userlist").datagrid('getData');
	var item;
	if (listData && listData.rows && listData.rows.length > 0) {
		for (var i = 0; i < listData.rows.length; i++) {
			if (listData.rows[i] && parseInt(listData.rows[i].id) === parseInt(id)) {
				item = listData.rows[i];
			}
		}
	}
	if (!item) {
		return;
	}
	layer.ready(function() {
		layer.open({
			type : 1,
			title : '用户编辑',
			skin : 'layui-layer-rim', // 加上边框
			area : [ '600px', '460px' ], // 宽高
			btn : [ '确定修改', '取消' ],
			content : $("#editor").html(),
			success : function(layero, index) {
				// console.log(item.loginNode);
				$(".layui-layer-content input[name='id']").val(item.id);
				$(".layui-layer-content input[name='username']").val(item.username);
				$(".layui-layer-content select[name='status']").val(item.status);
				$(".layui-layer-content input[name='loginNode']").each(function() {
					if (parseInt($(this).val()) === parseInt(item.loginNode)) {
						$(this).click();
					}
				});
			},
			btn1 : function(index, layero) {
				var status = $(".layui-layer-content select[name='status']").val();
				var loginNode = $(".layui-layer-content input[name='loginNode']:checked").val();
				status = parseInt(status);
				loginNode = parseInt(loginNode);
				if (isNaN(status) || isNaN(loginNode)) {
					return;
				}
				if ($(".layui-layer-content .mloading").hasClass("active")) {
					return;
				}
				$(".layui-layer-content").mLoading('show');
				request.post('/backend/mastermanage/userlist/update-one-status', {
					id : id,
					status : status,
					loginNode : loginNode
				}, function(request, data) {
					if (data && data.id) {
						$("#master-userlist").datagrid("reload");
						layer.close(index);
					}
				}, null, function() {
					$(".layui-layer-content").mLoading('hide');
				});
			}
		});
	});
}

function resetPassword(id) {
	if (isNaN(parseInt(id)) || parseInt(id) < 1) {
		return;
	}
	var listData = $("#master-userlist").datagrid('getData');
	var item;
	if (listData && listData.rows && listData.rows.length > 0) {
		for (var i = 0; i < listData.rows.length; i++) {
			if (listData.rows[i] && parseInt(listData.rows[i].id) === parseInt(id)) {
				item = listData.rows[i];
			}
		}
	}
	if (!item) {
		return;
	}
	layer.ready(function() {
		layer.open({
			type : 1,
			title : '重置密码',
			skin : 'layui-layer-rim', // 加上边框
			area : [ '600px', '360px' ], // 宽高
			btn : [ '确定修改', '取消' ],
			content : $("#reset-password").html(),
			success : function(layero, index) {
				$(".layui-layer-content input[name='id']").val(item.id);
				$(".layui-layer-content input[name='username']").val(item.username);
			},
			btn1 : function(index, layero) {
				if ($(".layui-layer-content .mloading").hasClass("active")) {
					return;
				}
				$(".layui-layer-content").mLoading('show');
				request.post('/backend/mastermanage/userlist/resetpassword', {
					id : id
				}, function(request, data) {
					if (data && data.id) {
						$("#master-userlist").datagrid("reload");
						layer.close(index);
					}
				}, null, function() {
					$(".layui-layer-content").mLoading('hide');
				});
			}
		});
	});
}